倒數第二天,今天介紹讓原始資料型態包裹成物件的觀念-- Wrapper Classes
其實就是包裹我們前面所提到的Primitive Data Types,讓它轉以物件的方式運作。
(如果不熟悉的話可以參考Day 6 : 變數(2)))
包裹物件內含會有一個變數和其資料型態
以下是原始資料型別轉換成對應的Wrapper Class :
與一般宣告變數的概念差不多 :
/*Wrapper_Class variable_name = data;*/
Integer num = 12;
Character gpa = 'A';
也可以先宣告一般型態後再進行包裹
int num = 12;
Integer new_wrapper = num;
這與一般宣告變數的方式不太相同。
在建立物件時會使用到new
來建立新物件,而包裹器的方法是透過valueOf
將變數包裹成物件格式。
int num = 12;
double num2 = 12.33;
var wra1 = Integer.valueOf(num);
var wra2 = Doublie.valueOf(data1);
System.out.println(wra1.intValue());
System.out.println(wra2.doubleValue());
一開始的宣告變數,中間兩段(var代表宣告一無形別變數)即是編譯器如何將其變成物件的方式
編譯器利用Wrapper Class + valueOf來建立包裹器之實例
這邊用「資料類型+Value( )」印出基本型態包裹器內之內容
Integer提供與其他同型態物件比較的方法 :
Integer num = 12;
Integer wra = 24;
System.out.println(num.compareTo(wra)); //Outputs : -1
簡單來說,就是包裹後,將其拆箱並將內容給原始資料型態儲存
Integer num = 12;
int temp = num; //編譯器在此步驟拆箱
以上內容若有誤或任何問題,煩請不吝嗇告知,謝謝您!!!